﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using BDSUETableAdapters;
/// <summary>
/// Summary description for ConsultaEstados
/// </summary>
public class ConsultaEstados
{
    public ConsultaEstados()
    {
        //
        // TODO: Add constructor logic here
        //
    }

    public DataTable SolicitudesPendientes()
    {
        SolicitudPractica sp = new SolicitudPractica();
        DataTable spPendientes = sp.BusquedaAvanzada("", "", "", "0");
        DataTable resultado = new DataTable();
        DataColumn web = new DataColumn("web", Type.GetType("System.String"));
        spPendientes.Columns.Add(web);
        resultado = spPendientes.Clone();
        DateTime hoy = DateTime.Today;
        foreach (DataRow solicitud in spPendientes.Rows)
        {
            DateTime fCreacion = Convert.ToDateTime(solicitud["fechaCreacion"].ToString());
            fCreacion = fCreacion.AddDays(5);
            if (hoy.CompareTo(fCreacion) > 0)
            {
                solicitud["web"] = "../SolicitudesPractica/FormEditarSolicitud.aspx?idSolicitudPractica=" +
    solicitud["idSolicitudPractica"];
                resultado.ImportRow(solicitud);
            }
        }
        return resultado;
    }

    public DataTable ConveniosPorVencerse()
    {
        GestionarConvenios tmp = new GestionarConvenios();
        DataTable tabla = tmp.BusquedaAvanzada("vigente", "", "");
        DataTable resultado = new DataTable();
        DataColumn web = new DataColumn("web", Type.GetType("System.String"));
        tabla.Columns.Add(web);
        resultado = tabla.Clone();
        DateTime hoy = DateTime.Today;
        foreach (DataRow row in tabla.Rows)
        {
            DateTime fVencimiento = Convert.ToDateTime(row["fechaVencimiento"].ToString());
            fVencimiento = fVencimiento.AddDays(-15);
            if (hoy.CompareTo(fVencimiento) > 0)
            {
                row["web"] = "../GestionarConvenios/FrModConvenio.aspx?idConvenio=" +
    row["idConvenio"];
                resultado.ImportRow(row);
            }
        }
        return resultado;
    }

    public DataTable ConveniosCumplenFechaDeVencimiento()
    {
        return ConveniosPorVencerse();
    }

    public DataTable PracticasActivasSinConvenio()
    {
        GestionarPracticas tmp = new GestionarPracticas();
        DataTable tabla = tmp.BusquedaAvanzada("", "", "", "activa", 0);
        DataTable resultado = new DataTable();
        DataColumn web = new DataColumn("web", Type.GetType("System.String"));
        tabla.Columns.Add(web);
        resultado = tabla.Clone();
        foreach (DataRow row in tabla.Rows)
        {
            string valor = row["Convenio_idConvenio"].ToString();
            if (valor.CompareTo(string.Empty) == 0)
            {
                row["web"] = "../GestionarPracticas/FrModPractica.aspx?idPractica=" +
    row["idPractica"];
                resultado.ImportRow(row);
            }
        }
        return resultado;
    }

    public DataTable PracticasActivasCumplenFechaCierre()
    {
        GestionarPracticas tmp = new GestionarPracticas();
        DataTable tabla = tmp.BusquedaAvanzada("", "", "", "activa", 0);
        DataTable resultado = new DataTable();
        DataColumn web = new DataColumn("web", Type.GetType("System.String"));
        tabla.Columns.Add(web);
        resultado = tabla.Clone();
        DateTime hoy = DateTime.Today;
        foreach (DataRow row in tabla.Rows)
        {
            DateTime fCierre = Convert.ToDateTime(row["fechaCierre"].ToString());
            if (hoy.CompareTo(fCierre) > 0)
            {
                row["web"] = "../GestionarPracticas/FrModPractica.aspx?idPractica=" +
    row["idPractica"];
                resultado.ImportRow(row);
            }
        }
        return resultado;
    }

    public DataTable PracticasActivasSinPracticante()
    {
        GestionarPracticas tmp = new GestionarPracticas();
        DataTable tabla = tmp.BusquedaAvanzada("", "", "", "activa", 0);
        DataTable resultado = new DataTable();
        DataColumn web = new DataColumn("web", Type.GetType("System.String"));
        tabla.Columns.Add(web);
        resultado = tabla.Clone();
        foreach (DataRow row in tabla.Rows)
        {
            string valor = row["Usuario_nombreUsuario"].ToString();
            if (valor.CompareTo(string.Empty) == 0)
            {
                row["web"] = "../GestionarPracticas/FrModPractica.aspx?idPractica=" +
    row["idPractica"];
                resultado.ImportRow(row);
            }
        }
        return resultado;
    }

    public DataTable CuentasPracticantesNoActivadas()
    {
        GestionarPracticantes tmp = new GestionarPracticantes();
        DataTable dt = tmp.ObtPracticantesPorEstado("noactivado");
        DataColumn web = new DataColumn("web", Type.GetType("System.String"));
        dt.Columns.Add(web);
        DataTable resu = new DataTable();
        resu = dt.Clone();
        foreach (DataRow row in dt.Rows)
        {
            row["web"] = "../GestionarPracticantes/FrModPracticante.aspx?nombreUsuario=" +
    row["Usuario_nombreUsuario"];
            resu.ImportRow(row);
        }
        return dt;
    }

    public DataTable CuentasEmpresasNoActivadas()
    {
        Empresa tmp = new Empresa();
        DataTable resultado = new DataTable();

        DataColumn nit = new DataColumn("Nit",
        Type.GetType("System.String"));
        resultado.Columns.Add(nit);

        DataColumn web = new DataColumn("web",
        Type.GetType("System.String"));
        resultado.Columns.Add(web);

        DataColumn estado = new DataColumn("Estado",
        Type.GetType("System.Int32"));
        resultado.Columns.Add(estado);

        DataRow relation;
        // Declare the array variable.
        object[] rowArray = new object[3];
        // Create 10 new rows and add to DataRowCollection.
        foreach (Empresa reg in tmp.consultarEmpresa())
        {
            if (reg.ObtEstado() == 1)
            {
                rowArray[0] = reg.ObtNit();
                rowArray[1] = "../Empresa/Edit_empresa.aspx?nit="+rowArray[0];
                rowArray[2] = reg.ObtEstado();
                relation = resultado.NewRow();
                relation.ItemArray = rowArray;
                resultado.Rows.Add(relation);
            }
        }
        return resultado;
    }

    public DataTable CuentasActivasConPracticasTerminadas()
    {
        GestionarPracticas gp = new GestionarPracticas();
        GestionarPracticantes gep = new GestionarPracticantes();
        DataTable tmp = gp.BusquedaAvanzada("", "", "", "terminada", 0);
        DataTable resultado = new DataTable();
        DataColumn web = new DataColumn("web", Type.GetType("System.String"));
        tmp.Columns.Add(web);
        resultado = tmp.Clone();
        foreach (DataRow row in tmp.Rows)
        {
            string valor = row["estadoPractica"].ToString();
            if (valor.CompareTo("terminada") == 0)
            {
                DataRow pr = gep.ObtPractEspecifico(row["Usuario_nombreUsuario"].ToString());
                if (String.Compare(pr["estado"].ToString(), "habilitado") == 0)
                {
                    row["web"] = "../GestionarPracticantes/FrModPracticante.aspx?nombreUsuario=" +
    row["Usuario_nombreUsuario"];
                    resultado.ImportRow(row);
                }
            }
        }
        return resultado;
    }
}
